package com.flying.invest.strategy.model;

import java.util.Date;

import com.flying.framework.data.Data;
import com.flying.common.util.Codes;
import com.flying.framework.annotation.Param;
import com.flying.framework.data.DataSerializable;
import com.flying.framework.metadata.Meta;

@SuppressWarnings("serial")
@Meta(id="i_strategy_value_average_detail",title="价值平均明细", table="i_strategy_value_average_detail", primaryKeys={"detail_id"})
public class StrategyValueAverageDetail extends Data implements DataSerializable {
	public final static String ENTITY_NAME = "i_strategy_value_average_detail";
	
	public final static String DETAIL_ID = "detail_id";
	public final static String USER_ID = "user_id";
	public final static String TYPE_ID = "type_id";
	public final static String INVEST_ID = "invest_id";
	public final static String STRATEGY_ID = "strategy_id";
	public final static String TARGET_AMOUNT = "target_amount";
	public final static String INFLATION_AMOUNT = "inflation_amount";
	public final static String TRANSACTION_TYPE = "transaction_type";
	public final static String STRATEGY_AMOUNT = "strategy_amount";
	public final static String STRATEGY_RATE = "strategy_rate";
	public final static String AMOUNT = "amount";
	public final static String PRICE = "price";
	public final static String QUANTITY = "quantity";
	public final static String REMARKS = "remarks";
	public final static String CREATE_TIME = "create_time";
	
	@Param(value=DETAIL_ID,   required=true,   maxlength=0,	desc="ID" , generator=Codes.AUTO_INCREMENT)
	private Long detailId;
	
	@Param(value=USER_ID,   required=true,   maxlength=0,	desc="所属用户" )
	private Long userId;
	
	@Param(value=TYPE_ID,   required=true,   maxlength=0,	desc="策略类型" )
	private Long typeId;
	
	@Param(value=INVEST_ID,   required=true,   maxlength=0,	desc="投资项目" )
	private Long investId;
	
	@Param(value=STRATEGY_ID,   required=true,   maxlength=0,	desc="策略ID" )
	private Long strategyId;
	
	@Param(value=TARGET_AMOUNT,   required=true,   maxlength=0,	desc="目标市值" )
	private Double targetAmount;
	
	@Param(value=INFLATION_AMOUNT,   required=false,   maxlength=0,	desc="时间成本" )
	private Double inflationAmount;
	
	@Param(value=TRANSACTION_TYPE,   required=true,   maxlength=0,	desc="交易类型" )
	private Integer transactionType;
	
	@Param(value=STRATEGY_AMOUNT,   required=true,   maxlength=0,	desc="可交易金额" )
	private Double strategyAmount;
	
	@Param(value=STRATEGY_RATE,   required=false,   maxlength=0,	desc="波动比率" )
	private Double strategyRate;
	
	@Param(value=AMOUNT,   required=false,   maxlength=0,	desc="建议交易金额" )
	private Double amount;
	
	@Param(value=PRICE,   required=false,   maxlength=0,	desc="价格" )
	private Double price;
	
	@Param(value=QUANTITY,   required=false,   maxlength=0,	desc="数量" )
	private Double quantity;
	
	@Param(value=REMARKS,   required=false,   maxlength=500,	desc="说明" )
	private String remarks;
	
	@Param(value=CREATE_TIME,   required=false,   maxlength=0,	desc="创建时间" )
	private Date createTime;
	
	
	public Long getDetailId() {
		return this.detailId;
	}
	
	public void setDetailId(Long detailId) {
		this.detailId = detailId;
	}
	
	public Long getUserId() {
		return this.userId;
	}
	
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	
	public Long getTypeId() {
		return this.typeId;
	}
	
	public void setTypeId(Long typeId) {
		this.typeId = typeId;
	}
	
	public Long getInvestId() {
		return this.investId;
	}
	
	public void setInvestId(Long investId) {
		this.investId = investId;
	}
	
	public Long getStrategyId() {
		return this.strategyId;
	}
	
	public void setStrategyId(Long strategyId) {
		this.strategyId = strategyId;
	}
	
	public Double getTargetAmount() {
		return this.targetAmount;
	}
	
	public void setTargetAmount(Double targetAmount) {
		this.targetAmount = targetAmount;
	}
	
	public Double getInflationAmount() {
		return this.inflationAmount;
	}
	
	public void setInflationAmount(Double inflationAmount) {
		this.inflationAmount = inflationAmount;
	}
	
	public Integer getTransactionType() {
		return this.transactionType;
	}
	
	public void setTransactionType(Integer transactionType) {
		this.transactionType = transactionType;
	}
	
	public Double getStrategyAmount() {
		return this.strategyAmount;
	}
	
	public void setStrategyAmount(Double strategyAmount) {
		this.strategyAmount = strategyAmount;
	}
	
	public Double getStrategyRate() {
		return this.strategyRate;
	}
	
	public void setStrategyRate(Double strategyRate) {
		this.strategyRate = strategyRate;
	}
	
	public Double getAmount() {
		return this.amount;
	}
	
	public void setAmount(Double amount) {
		this.amount = amount;
	}
	
	public Double getPrice() {
		return this.price;
	}
	
	public void setPrice(Double price) {
		this.price = price;
	}
	
	public Double getQuantity() {
		return this.quantity;
	}
	
	public void setQuantity(Double quantity) {
		this.quantity = quantity;
	}
	
	public String getRemarks() {
		return this.remarks;
	}
	
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	
	public Date getCreateTime() {
		return this.createTime;
	}
	
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	

}